
var V=new Vue({
    el:'#main',
    data:()=>({
        datalist:[],
        listStatus:9,
        searchText:'',
        control:''
    }),
    methods:{
        getdata(){  //获取数据方法
            $('table input').prop('checked',false)
            var data={
                searchText:$('#searchText').val(),
                control:$('#control').val()
            }
            $.ajax({
                url:'/admin/menu/list',
                type:'post',
                data,
                success:(data)=>{
                    data = JSON.parse(data)
                    data.menuList.map(item=>{
                        if(item.level>0){
                            item.toggle=false
                        }
                        if(item.level==0){
                            item.is_show=true
                            item.toggle=true
                        }
                        if(item.level==1){
                            item.is_show=true
                            item.toggle=false
                        }
                    })
                    this.datalist = data.menuList
                    this.searchText = data.searchText
                    this.control = data.control
                    console.log(this.datalist)
                }
            })
        },
        getSearchText(){
            this.getdata()
        },
        evdel(id,disable){
            this.requestAjax(id,'/admin/menu/updateStatus?disable='+disable)
        },
        requestAjax(id,url){
            $.ajax({
                url:url,
                data: {id:id,},
                type:'post',
                success:(data)=>{      
                    data = JSON.parse(data) 
                    change_mes_type('.alert',data.status)
                    if(data.status==1){
                        $('.alert').show()
                        $('.alert p').html('*'+data.msg+'<br>')
                        this.getdata()
                    }else{
                        $('.alert').show()
                        $('.alert p').html('*'+data.msg+'<br>')
                    }
                }
            })
        },

        requestDelete(id){
            this.requestAjax(id,'/admin/menu/requestDelete')
        },
        toggleparent(item_pid,toggle){
            this.datalist.map(item=>{
                if(item.id==item_pid && item.level != 0){//父级显示
                    item.toggle= true
                    if(item.pid!=0)
                    this.toggleparent(item.pid)
                }
                if(item.pid==item_pid){//同级显示
                    item.is_show=true
                }
            })
        },
        changemenuname(item_id,toggle,item_pid){
            //关闭其他
            this.datalist.map(item=>{
                if(item.level != 0 && item.level != 1){
                    item.is_show=false
                }
                if(item.level != 0 ){
                    item.toggle=false
                }
            })
            //展开本次展开的父级
            //if(item_pid != 0)
            this.toggleparent(item_pid,toggle)
            //展开时只展开一级
            this.datalist.map(Element=>{
                if(Element.id==item_id){
                    Element.toggle=!toggle
                }
                if(Element.pid==item_id){
                    Element.is_show=!toggle
                    if(toggle){//收缩时要把子级都关闭
                        if(Element.child)
                        this.changemenuname(Element.id,toggle)
                    }
                }
            })
        }
    },
    mounted(){
        this.getdata()
        $('#prosModal').on('hidden.bs.modal',(e)=>{
            this.getdata()
          })
    },
    watch:{
        page:function(){
          this.getdata()  
        }
    }
})